<?php
/**
 * ジャスティスシステムデータセットコントローラ
 */
require_once dirname(__FILE__) . '/../Controller.php';

/**
 * ジャスティスシステムデータセットコントローラクラス
 * @author admin
 *
 */
class models_justice extends Models_Controller
{
	/** 歴 */
	const KEY_REKI = "REKI";
	/** 年 */
	const KEY_NEN = "NEN";
	/** 月 */
	const KEY_TUKI = "TUKI";
	/** 日 */
	const KEY_HI = "HI";
	/** 学校 */
	const KEY_GAKKO = "GAKKO";
	/** インターネットネーム */
	const KEY_INAME = "INAME";
	/** パスワード */
	const KEY_PASSWORD = "PASSWORD";
	/** 登録日時 */
	const KEY_CREATETIME = "CREATETIME";
	/** 更新日時 */
	const KEY_MODIFYTIME = "MODIFYTIME";
	/** クライアントＩＰアドレス */
	const KEY_IP_ADDRESS = "IPADDRESS";
	
	/**
	 * 
	 * @param unknown $id
	 * @param unknown $reki
	 * @param unknown $nen
	 * @param unknown $tuki
	 * @param unknown $hi
	 * @param unknown $gakko
	 * @param unknown $iname
	 * @param unknown $password
	 */
	public function add($id, $reki, $nen, $tuki, $hi, $gakko, $iname, $password)
	{
		/** ＩＤ重複判定 */
		if ($this->_searchId($id) !== FALSE) {
			return FALSE;
		}
		
		$createtimeime = time();
		$modifytime = $createtimeime;
		$dataset = $this->_createDatasetArray($id, $reki, $nen, $tuki, $hi, $gakko, $iname, $password, $modifytime, $createtimeime);
		$this->_aryDataSet[] = $dataset;
	}
	
	/**
	 * 学校名に公立私立の記載がない場合FALSEを返す
	 * @param unknown $sGakko
	 */
	public static function checkStringGakko($sGakko)
	{
		
	}
	
	/**
	 * (non-PHPdoc)
	 * @see Models_Controller::replace()
	 */
	public function replace($id, $reki, $nen, $tuki, $hi, $gakko, $iname, $password)
	{
		$dataset = &$this->_searchId($id);
		/** エラー判定 */
		if ($dataset === FALSE) {
			return FALSE;
		}
		
		$newId = self::createId($iname, $password);
		$dataset[self::KEY_ID] = $newId;
		$dataset[self::KEY_REKI] = $reki;
		$dataset[self::KEY_NEN] = $nen;
		$dataset[self::KEY_TUKI] = $tuki;
		$dataset[self::KEY_HI] = $hi;
		$dataset[self::KEY_GAKKO] = $gakko;
		$dataset[self::KEY_INAME] = $iname;
		$dataset[self::KEY_PASSWORD] = $password;
		$dataset[self::KEY_MODIFYTIME] = time();
		$dataset[self::KEY_IP_ADDRESS] = $_SERVER["REMOTE_ADDR"];
		return TRUE;
	}
	
	/**
	 * 
	 * @param unknown $id
	 * @param unknown $reki
	 * @param unknown $nen
	 * @param unknown $tuki
	 * @param unknown $hi
	 * @param unknown $gakko
	 * @param unknown $iname
	 * @param unknown $password
	 * @return multitype:unknown
	 */
	protected function _createDatasetArray($id, $reki, $nen, $tuki, $hi, $gakko, $iname, $password , $modifytime, $createtimeime)
	{
		$dataset = array(
				self::KEY_ID => $id,
				self::KEY_REKI => $reki,
				self::KEY_NEN => $nen,
				self::KEY_TUKI => $tuki,
				self::KEY_HI => $hi,
				self::KEY_GAKKO => $gakko,
				self::KEY_INAME => $iname,
				self::KEY_PASSWORD => $password,
				self::KEY_MODIFYTIME => $modifytime,
				self::KEY_CREATETIME => $createtimeime,
				self::KEY_IP_ADDRESS => $_SERVER["REMOTE_ADDR"],
		);
		return $dataset;
	}
	/**
	 * 
	 * @param unknown $iname
	 * @param unknown $password
	 * @return boolean
	 */
	public function isUserExists($iname, $password)
	{
		$id = $this->createId($iname, $password);
		$ret = $this->_searchId($id);
		if ($ret !== FALSE) {
			return TRUE;
		} else {
			return FALSE;
		}
	}
	
	/**
	 * (non-PHPdoc)
	 * @see Models_Controller::createId()
	 */
	public static function createId($iname, $password)
	{
		$result = md5($iname.$password);
		return $result;
	}
}